类似于 Unix 的时间戳,它是代表当前时间和日期的单个数字。无论是数字还是字符串。
+ new Date()
一元运算符 likeplus触发对象中的valueOf方法Date并返回时间戳(没有任何更改)。
plus
valueOf
Date
细节:
在几乎所有当前浏览器上,您都可以使用Date.now()以毫秒为单位获取 UTC 时间戳;一个值得注意的例外是 IE8 及更早版本(请参阅兼容性表)。
Date.now()
不过,您可以轻松地为此制作一个垫片:
if (!Date.now) { Date.now = function() { return new Date().getTime(); } }
要以秒为单位获取时间戳,您可以使用:
Math.floor(Date.now() / 1000)
或者,您可以使用:
Date.now() / 1000 | 0
这应该稍微快一点,但可读性也较差。
我建议使用Date.now()(与兼容性垫片)。它稍微好一点,因为它更短并且不会创建新Date对象。但是,如果您不想要垫片和最大兼容性,则可以使用“旧”方法以毫秒为单位获取时间戳:
new Date().getTime()
然后您可以将其转换为如下所示的秒数:
Math.round(new Date().getTime()/1000)
你也可以使用valueOf我们上面展示的方法:
new Date().valueOf()
以毫秒为单位的时间戳
var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now(); console.log(timeStampInMs, Date.now());